<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>姓名案例_computed实现</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        姓: <input type="text" v-model="firstName"><br>
        名: <input type="text" v-model="lastName"><br>
        <span>姓名: {{fullName}}</span><br>
        全名: <input type="text" v-model="fullName">
    </div>

    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                firstName: '李',
                lastName: '葵'
            },
            computed: {
                /* 
                    fullName什么时候调用?初次渲染的时候、当依赖的数据发生变化时
                 */
                //简写
                /* fullName(){
                    console.log('fullName被调用');
                    return this.firstName + '-' + this.lastName
                } */
                //完整写法
                fullName: {
                    set(value){
                        const arr = value.split('-')
                        this.firstName = arr[0]
                        this.lastName  = arr[1]
                    },
                    get(){
                        return this.firstName + '-' + this.lastName
                    }
                }
            }
        })
    </script>
</body>
</html>